Amazon Q DeveloperがGAになりました
NTT東日本の中村です。
昨年からプレビューで公開されていたAmazon QのDeveloper機能がGAとなりましたので、挙動を確認してみました。
Amazon Qとは
AWSの生成AIの機能です。 ビジネスアプリケーションに組み込むこともできますし、マネジメントコンソール内でのプロンプトによるユーザの支援や、Amazon Connectのコンタクトセンター機能や、Amazon QuickSightのデータ可視化の支援などの機能が用意されており、AWSサービスの基盤に用意されているサービスと言えます。
Amazon Q Developerとは
主にサービスを開発するために用意されたAmazon Qのプランです。一般の利用者が触れることのない、マネジメントコンソール上でのアクセスや、IDEの拡張機能を通して、Amazon Qの機能にアクセスすることができます。
無料のコード支援機能が発表されています
Amazon Q Developerには、IDEと連携し、コード支援を行う機能が用意されています。 従来は「Amazon CodeWhispererサービスの追加機能」という形で提供されていましたが、CodeWhispererの名前がAmazon Q Developerに変更されました。
また、2つの機能について、無料で使用できることがアナウンスされています。
- ソフトウェア開発機能(コード補完や提案、生成。機能開発と呼ばれていたもの)
- コード変換機能(プレビュー版でも用意されていた、Javaの言語バージョン更新機能)
これらの機能は、元々は月額19USDの費用が発生する、CodeWhispere Professional Tierプランで利用出来る機能として用意されていましたが、その制限が無くなりました。
これはAmazon Q Developer Agentとして紹介されており、拡張機能により利用できます。
VSCodeでも、拡張機能を確認できました。
その他FAQ等は、こちらのリンクが参考になります。
ソフトウェア開発機能を試してみた
ソフトウェア開発機能とは、提示したプロンプトを元に、AmazonQが現在開いているプロジェクト内のソース群を、生成したコードにより置き換えてくれる機能です。 コードだけ生成したり、1ファイルだけの変更ではなく、複数ファイルの連携を考えながら修正候補を提示します。
ちなみに、これをIssueベースで利用できるようにしているのが、Amazon QのCodeCatalystとの統合機能で、Issueを読み取ってPull-Requestまで出す、というものでした。
以前、CodeCatalyst経由ではありますが、プレビュー版のAmazonQのソフトウェア開発機能は、以前調査を行いました。一般的なReactのアプリケーションに対して、15通りのプロンプトを用意して、コード生成のクオリティをチェックしていました。
正式版の挙動が気になり、動作をチェックしてみます。
従来通り、AmazonQの拡張機能から、「/dev」と入力することで、ソフトウェア開発機能にアクセスします。
プレビュー版の調査で使用したプロンプトを投げてみます。 内容は、Create-Rect-Appの最初の状態のものに、天気コンポーネントを設置し、表示まで行ってほしい、というものでした。
一部省略しますが、Amazon Qからの設計方針の提案があり、必要であればプロンプトで再修正を依頼します。
問題ないようであれば、generate codeを押します。
ツリー表記で、コード修正の提案が表示されます。 この画面はre:Inventでは発表されていたものの、ようやく一般ユーザが触れるようになり、ついに来たなぁ・・・という感じです。
App.tsxです。
Weather.tsxを生成してくれました。
package.jsonの生成が無いようなので、再度生成を依頼します。
プレビュー版ではCodeCatalystでしかソフトウェア開発機能が使えず、再生成も1度だけだったので、何度も生成できるのは実用的でありがたいですね。
package.jsonです。書式エラー(不要なclosing tag)が出ていますが、後ほど直す事にします。ちなみにこれはプレビュー版でも発生していました。
立ち位置がコード支援であり、 最後の一押しは開発者が・・・というコンセプトなので、現状は許容範囲かな、という認識です。
提案コードを受け入れると、gitのChangesに表示されます。 IDEでは、開発者がここから修正を加え、Pull-Requestを行う、という流れになります。
openWeatherMapのAPIキーを設定すると、東京の天気も表示されました。いい感じです!
まとめ
Amazon QのDeveloper機能がGAとなり、一部のコード支援機能が無料で利用できることが発表されました。
IDE経由では、コードの補完や、コード群を提案・修正するソフトウェア開発機能が利用でき、開発者の後押しに繋がる素晴らしい機能だと思います。